The rapid development of data-processing systems, electronic communications, and data storage-and-retrieval systems have provided the foundation for an equally rapid evolution of data-driven computational systems. Although data-driven computational systems, data-management systems, and components of data-management systems have been traditionally classified as belonging to one of various categories, including data-warehouse systems, on-line-transaction-processing (“OLTP”) systems, and other such categories, modern data-driven computational systems span a continuum that includes these traditional categories as well as hybrid systems that incorporate features of two or more of the categories. For example, traditional OLTP systems are designed for rapid insertion and update of relatively small and well-constrained portions of the data stored in a database and traditional data-warehouse systems are designed for rapid retrieval of relatively large amounts of data from enormous databases, both types of systems may be implemented using the same commercial relational database-management systems that provide functionalities and capabilities for both types of operations. Moreover, many data-driven, distributed systems provide functionalities that span the functionalities provided by these two different types of traditional data-driven systems. Recently, the rapid evolution and commercial acceptance of electronic communications, the Internet, and new, Internet-based technologies have provided a variety of new capabilities available to, and have introduced new problems associated with, data-driven system implementation.
While the distinctions that characterize and define traditional categories of data-driven systems have become blurred, in currently available data-driven systems, there remains a class of data-driven systems that can be characterized as data-warehouse-based systems because these systems need to periodically harvest and process massive amounts of information for incorporation in data warehouses for subsequent access by users, generally via various application programs. Examples of such data-warehouse-based systems include various types of business-intelligence systems, in which large amounts of data are continuously collected, compiled, and stored into large databases, from which the compiled data is accessed by various business and analysis applications to provide a variety of high-end data analysis and interpretation to business-intelligence-application users. Specific business-intelligence applications include applications that provide analysis of business trends, market performance, market-trend analysis, market prediction, inventory-and-process monitoring, analysis, and reporting, and other such valuable tools for monitoring, analyzing, and predicting various aspects of businesses, markets, research groups, universities, and other organizations.
A recent trend in large, distributed computing systems is to provide functionality for real-time communications and interaction among the users of distributed computer systems. Modern computer users are accustomed to, and have grown increasingly reliant on, rapid, real-time exchange of information with tens to hundreds or thousands of remote users via email, social-network sites, message boards, Internet forums, chat rooms, blogs, real-time document and graphics annotation, and other such information-exchange forums. Unfortunately, real-time information exchange is, in many ways, contrary to the general approach to data collection and distribution represented by traditional data-warehouse-based systems, in which information is made available to users of such systems only after extensive and time-consuming harvesting and processing, over time scales that exceed those needed for real-time or near-real-time information exchange. As a result, researchers, users of various distributed systems and data-driven computational systems, and manufacturers and vendors of computer hardware and software recognize the importance of continuing to develop approaches for incorporating real-time and near-real-time information exchange in data-warehouse-based distributed systems.